package com.youngking.guns.modular.system.controller;


import com.youngking.guns.modular.system.dao.DictMapper;
import com.youngking.guns.modular.system.model.Dict;
import com.youngking.guns.core.cache.CacheKit;
import com.youngking.guns.modular.system.dao.DictMapper;
import org.springframework.beans.factory.annotation.Autowired;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class GetDict {
    @Autowired
    DictMapper dictMapper;

    /**
     * @param key 字典key
     * @return 按条件查询的字典list
     * 将数据字典类存入缓存，在前端页面使用，仅限新增修改方法（注意：当前返回待遇字典类数据时使用本框架自带的wrapper机制）
     */
    public List<Map<String, Object>> getDictByKey(String key) {
        Boolean flag = false;//用于这段循环，当发现对于的字典key时循环终止
        List<Map<String, Object>> dict = new ArrayList<>();
        List<Dict> list = CacheKit.get("CONSTANT", "dictCache");
        for (Dict m : list) {
            if (key.equals(m.getName())) {
                for (Dict n : list) {
                    if (m.getId().equals(n.getPid())) {
                        Map map = new HashMap();
                        map.put("num", n.getNum());
                        map.put("name", n.getName());
                        dict.add(map);
                    }
                }
                flag = true;
            } else if (flag) {
                return dict;
            }
        }
        return dict;
    }
}
